# -*- coding: utf-8 -*-
#
# GPL License and Copyright Notice ============================================
#  This file is part of Wrye Bash.
#
#  Wrye Bash is free software: you can redistribute it and/or
#  modify it under the terms of the GNU General Public License
#  as published by the Free Software Foundation, either version 3
#  of the License, or (at your option) any later version.
#
#  Wrye Bash is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with Wrye Bash.  If not, see <https://www.gnu.org/licenses/>.
#
#  Wrye Bash copyright (C) 2005-2009 Wrye, 2010-2021 Wrye Bash Team
#  https://github.com/wrye-bash
#
# =============================================================================

"""This package contains the Fallout 4 specific patchers. This module
contains the data structures that are dynamically set on a per game basis in
bush."""

# Function Info ---------------------------------------------------------------
# 0: no param; 1: int param; 2: formid param; 3: float param
# Third parameter is always sint32, so no need to specify here
condition_function_data = {
    0:    (u'GetWantBlocking', 0, 0),
    1:    (u'GetDistance', 2, 0),
    5:    (u'GetLocked', 0, 0),
    6:    (u'GetPos', 0, 0),
    8:    (u'GetAngle', 0, 0),
    10:   (u'GetStartingPos', 0, 0),
    11:   (u'GetStartingAngle', 0, 0),
    12:   (u'GetSecondsPassed', 0, 0),
    14:   (u'GetValue', 2, 0),
    18:   (u'GetCurrentTime', 0, 0),
    24:   (u'GetScale', 0, 0),
    25:   (u'IsMoving', 0, 0),
    26:   (u'IsTurning', 0, 0),
    27:   (u'GetLineOfSight', 2, 0),
    32:   (u'GetInSameCell', 2, 0),
    35:   (u'GetDisabled', 0, 0),
    36:   (u'MenuMode', 1, 0),
    39:   (u'GetDisease', 0, 0),
    41:   (u'GetClothingValue', 0, 0),
    42:   (u'SameFaction', 2, 0),
    43:   (u'SameRace', 2, 0),
    44:   (u'SameSex', 2, 0),
    45:   (u'GetDetected', 2, 0),
    46:   (u'GetDead', 0, 0),
    47:   (u'GetItemCount', 2, 0),
    48:   (u'GetGold', 0, 0),
    49:   (u'GetSleeping', 0, 0),
    50:   (u'GetTalkedToPC', 0, 0),
    56:   (u'GetQuestRunning', 2, 0),
    58:   (u'GetStage', 2, 0),
    59:   (u'GetStageDone', 2, 1),
    60:   (u'GetFactionRankDifference', 2, 2),
    61:   (u'GetAlarmed', 0, 0),
    62:   (u'IsRaining', 0, 0),
    63:   (u'GetAttacked', 0, 0),
    64:   (u'GetIsCreature', 0, 0),
    65:   (u'GetLockLevel', 0, 0),
    66:   (u'GetShouldAttack', 2, 0),
    67:   (u'GetInCell', 2, 0),
    68:   (u'GetIsClass', 2, 0),
    69:   (u'GetIsRace', 2, 0),
    70:   (u'GetIsSex', 1, 0),
    71:   (u'GetInFaction', 2, 0),
    72:   (u'GetIsID', 2, 0),
    73:   (u'GetFactionRank', 2, 0),
    74:   (u'GetGlobalValue', 2, 0),
    75:   (u'IsSnowing', 0, 0),
    77:   (u'GetRandomPercent', 0, 0),
    79:   (u'WouldBeStealing', 2, 0),
    80:   (u'GetLevel', 0, 0),
    81:   (u'IsRotating', 0, 0),
    84:   (u'GetDeadCount', 2, 0),
    91:   (u'GetIsAlerted', 0, 0),
    98:   (u'GetPlayerControlsDisabled', 1, 1),
    99:   (u'GetHeadingAngle', 2, 0),
    101:  (u'IsWeaponMagicOut', 0, 0),
    102:  (u'IsTorchOut', 0, 0),
    103:  (u'IsShieldOut', 0, 0),
    106:  (u'IsFacingUp', 0, 0),
    107:  (u'GetKnockedState', 0, 0),
    108:  (u'GetWeaponAnimType', 0, 0),
    109:  (u'IsWeaponSkillType', 2, 0),
    110:  (u'GetCurrentAIPackage', 0, 0),
    111:  (u'IsWaiting', 0, 0),
    112:  (u'IsIdlePlaying', 0, 0),
    116:  (u'IsIntimidatedbyPlayer', 0, 0),
    117:  (u'IsPlayerInRegion', 2, 0),
    118:  (u'GetActorAggroRadiusViolated', 0, 0),
    122:  (u'GetCrime', 2, 1),
    123:  (u'IsGreetingPlayer', 0, 0),
    125:  (u'IsGuard', 0, 0),
    127:  (u'HasBeenEaten', 0, 0),
    128:  (u'GetStaminaPercentage', 0, 0),
    129:  (u'HasBeenRead', 0, 0),
    130:  (u'GetDying', 0, 0),
    131:  (u'GetSceneActionPercent', 2, 2),
    132:  (u'WouldRefuseCommand', 2, 0),
    133:  (u'SameFactionAsPC', 0, 0),
    134:  (u'SameRaceAsPC', 0, 0),
    135:  (u'SameSexAsPC', 0, 0),
    136:  (u'GetIsReference', 2, 0),
    141:  (u'IsTalking', 0, 0),
    142:  (u'GetComponentCount', 2, 0),
    143:  (u'GetCurrentAIProcedure', 0, 0),
    144:  (u'GetTrespassWarningLevel', 0, 0),
    145:  (u'IsTrespassing', 0, 0),
    146:  (u'IsInMyOwnedCell', 0, 0),
    147:  (u'GetWindSpeed', 0, 0),
    148:  (u'GetCurrentWeatherPercent', 0, 0),
    149:  (u'GetIsCurrentWeather', 2, 0),
    150:  (u'IsContinuingPackagePCNear', 0, 0),
    152:  (u'GetIsCrimeFaction', 2, 0),
    153:  (u'CanHaveFlames', 0, 0),
    154:  (u'HasFlames', 0, 0),
    157:  (u'GetOpenState', 0, 0),
    159:  (u'GetSitting', 0, 0),
    161:  (u'GetIsCurrentPackage', 2, 0),
    162:  (u'IsCurrentFurnitureRef', 2, 0),
    163:  (u'IsCurrentFurnitureObj', 2, 0),
    170:  (u'GetDayOfWeek', 0, 0),
    172:  (u'GetTalkedToPCParam', 2, 0),
    175:  (u'IsPCSleeping', 0, 0),
    176:  (u'IsPCAMurderer', 0, 0),
    180:  (u'HasSameEditorLocationAsRef', 2, 2),
    181:  (u'HasSameEditorLocationAsRefAlias', 0, 2),
    182:  (u'GetEquipped', 2, 0),
    185:  (u'IsSwimming', 0, 0),
    190:  (u'GetAmountSoldStolen', 0, 0),
    192:  (u'GetIgnoreCrime', 0, 0),
    193:  (u'GetPCExpelled', 2, 0),
    195:  (u'GetPCFactionMurder', 2, 0),
    197:  (u'GetPCEnemyofFaction', 2, 0),
    199:  (u'GetPCFactionAttack', 2, 0),
    203:  (u'GetDestroyed', 0, 0),
    214:  (u'HasMagicEffect', 2, 0),
    215:  (u'GetDefaultOpen', 0, 0),
    223:  (u'IsSpellTarget', 2, 0),
    224:  (u'GetVATSMode', 0, 0),
    225:  (u'GetPersuasionNumber', 0, 0),
    226:  (u'GetVampireFeed', 0, 0),
    227:  (u'GetCannibal', 0, 0),
    228:  (u'GetIsClassDefault', 2, 0),
    229:  (u'GetClassDefaultMatch', 0, 0),
    230:  (u'GetInCellParam', 2, 2),
    231:  (u'GetPlayerDialogueInput', 0, 0),
    235:  (u'GetVatsTargetHeight', 0, 0),
    237:  (u'GetIsGhost', 0, 0),
    242:  (u'GetUnconscious', 0, 0),
    244:  (u'GetRestrained', 0, 0),
    246:  (u'GetIsUsedItem', 2, 0),
    247:  (u'GetIsUsedItemType', 2, 0),
    248:  (u'IsScenePlaying', 2, 0),
    249:  (u'IsInDialogueWithPlayer', 0, 0),
    250:  (u'GetLocationCleared', 2, 0),
    254:  (u'GetIsPlayableRace', 0, 0),
    255:  (u'GetOffersServicesNow', 0, 0),
    258:  (u'HasAssociationType', 2, 0),
    259:  (u'HasFamilyRelationship', 2, 0),
    261:  (u'HasParentRelationship', 2, 0),
    262:  (u'IsWarningAbout', 2, 0),
    263:  (u'IsWeaponOut', 0, 0),
    264:  (u'HasSpell', 2, 0),
    265:  (u'IsTimePassing', 0, 0),
    266:  (u'IsPleasant', 0, 0),
    267:  (u'IsCloudy', 0, 0),
    274:  (u'IsSmallBump', 0, 0),
    277:  (u'GetBaseValue', 2, 0),
    278:  (u'IsOwner', 2, 0),
    280:  (u'IsCellOwner', 2, 2),
    282:  (u'IsHorseStolen', 0, 0),
    285:  (u'IsLeftUp', 0, 0),
    286:  (u'IsSneaking', 0, 0),
    287:  (u'IsRunning', 0, 0),
    288:  (u'GetFriendHit', 0, 0),
    289:  (u'IsInCombat', 1, 0),
    300:  (u'IsInInterior', 0, 0),
    304:  (u'IsWaterObject', 0, 0),
    305:  (u'GetPlayerAction', 0, 0),
    306:  (u'IsActorUsingATorch', 0, 0),
    309:  (u'IsXBox', 0, 0),
    310:  (u'GetInWorldspace', 2, 0),
    312:  (u'GetPCMiscStat', 0, 0),
    313:  (u'GetPairedAnimation', 0, 0),
    314:  (u'IsActorAVictim', 0, 0),
    315:  (u'GetTotalPersuasionNumber', 0, 0),
    318:  (u'GetIdleDoneOnce', 0, 0),
    320:  (u'GetNoRumors', 0, 0),
    323:  (u'GetCombatState', 0, 0),
    325:  (u'GetWithinPackageLocation', 2, 0),
    327:  (u'IsRidingMount', 0, 0),
    329:  (u'IsFleeing', 0, 0),
    332:  (u'IsInDangerousWater', 0, 0),
    338:  (u'GetIgnoreFriendlyHits', 0, 0),
    339:  (u'IsPlayersLastRiddenMount', 0, 0),
    353:  (u'IsActor', 0, 0),
    354:  (u'IsEssential', 0, 0),
    358:  (u'IsPlayerMovingIntoNewSpace', 0, 0),
    359:  (u'GetInCurrentLocation', 2, 0),
    360:  (u'GetInCurrentLocationAlias', 0, 0),
    361:  (u'GetTimeDead', 0, 0),
    362:  (u'HasLinkedRef', 2, 0),
    365:  (u'IsChild', 0, 0),
    366:  (u'GetStolenItemValueNoCrime', 2, 0),
    367:  (u'GetLastPlayerAction', 0, 0),
    368:  (u'IsPlayerActionActive', 1, 0),
    370:  (u'IsTalkingActivatorActor', 2, 0),
    372:  (u'IsInList', 2, 0),
    373:  (u'GetStolenItemValue', 2, 0),
    375:  (u'GetCrimeGoldViolent', 2, 0),
    376:  (u'GetCrimeGoldNonviolent', 2, 0),
    378:  (u'IsOwnedBy', 2, 0),
    380:  (u'GetCommandDistance', 0, 0),
    381:  (u'GetCommandLocationDistance', 0, 0),
    390:  (u'GetHitLocation', 0, 0),
    391:  (u'IsPC1stPerson', 0, 0),
    396:  (u'GetCauseofDeath', 0, 0),
    397:  (u'IsLimbGone', 1, 0),
    398:  (u'IsWeaponInList', 2, 0),
    402:  (u'IsBribedbyPlayer', 0, 0),
    403:  (u'GetRelationshipRank', 2, 0),
    # We set the second to 'unused' here to receive it as 4 bytes, which we
    # then handle inside MelCtdaFo3.
    407:  (u'GetVATSValue', 1, 0),
    408:  (u'IsKiller', 2, 0),
    409:  (u'IsKillerObject', 2, 0),
    410:  (u'GetFactionCombatReaction', 2, 2),
    414:  (u'Exists', 2, 0),
    415:  (u'GetGroupMemberCount', 0, 0),
    416:  (u'GetGroupTargetCount', 0, 0),
    426:  (u'GetIsVoiceType', 2, 0),
    427:  (u'GetPlantedExplosive', 0, 0),
    429:  (u'IsScenePackageRunning', 0, 0),
    430:  (u'GetHealthPercentage', 0, 0),
    432:  (u'GetIsObjectType', 2, 0),
    434:  (u'PlayerVisualDetection', 0, 0),
    435:  (u'PlayerAudioDetection', 0, 0),
    437:  (u'GetIsCreatureType', 1, 0),
    438:  (u'HasKey', 2, 0),
    439:  (u'IsFurnitureEntryType', 0, 0),
    444:  (u'GetInCurrentLocationFormList', 2, 0),
    445:  (u'GetInZone', 2, 0),
    446:  (u'GetVelocity', 0, 0),
    447:  (u'GetGraphVariableFloat', 0, 0),
    448:  (u'HasPerk', 2, 0),
    449:  (u'GetFactionRelation', 2, 0),
    450:  (u'IsLastIdlePlayed', 2, 0),
    453:  (u'GetPlayerTeammate', 0, 0),
    454:  (u'GetPlayerTeammateCount', 0, 0),
    458:  (u'GetActorCrimePlayerEnemy', 0, 0),
    459:  (u'GetCrimeGold', 2, 0),
    463:  (u'IsPlayerGrabbedRef', 2, 0),
    465:  (u'GetKeywordItemCount', 2, 0),
    470:  (u'GetDestructionStage', 0, 0),
    473:  (u'GetIsAlignment', 1, 0),
    476:  (u'IsProtected', 0, 0),
    477:  (u'GetThreatRatio', 2, 0),
    479:  (u'GetIsUsedItemEquipType', 1, 0),
    483:  (u'GetPlayerActivated', 0, 0),
    485:  (u'GetFullyEnabledActorsInHigh', 0, 0),
    487:  (u'IsCarryable', 0, 0),
    488:  (u'GetConcussed', 0, 0),
    491:  (u'GetMapMarkerVisible', 0, 0),
    493:  (u'PlayerKnows', 2, 0),
    494:  (u'GetPermanentValue', 2, 0),
    495:  (u'GetKillingBlowLimb', 0, 0),
    497:  (u'CanPayCrimeGold', 2, 0),
    499:  (u'GetDaysInJail', 0, 0),
    500:  (u'EPAlchemyGetMakingPoison', 0, 0),
    501:  (u'EPAlchemyEffectHasKeyword', 2, 0),
    503:  (u'GetAllowWorldInteractions', 0, 0),
    506:  (u'DialogueGetAv', 2, 0),
    507:  (u'DialogueHasPerk', 2, 0),
    508:  (u'GetLastHitCritical', 0, 0),
    510:  (u'DialogueGetItemCount', 2, 0),
    511:  (u'LastCrippledCondition', 2, 0),
    512:  (u'HasSharedPowerGrid', 2, 0),
    513:  (u'IsCombatTarget', 2, 0),
    515:  (u'GetVATSRightAreaFree', 2, 0),
    516:  (u'GetVATSLeftAreaFree', 2, 0),
    517:  (u'GetVATSBackAreaFree', 2, 0),
    518:  (u'GetVATSFrontAreaFree', 2, 0),
    519:  (u'GetIsLockBroken', 0, 0),
    520:  (u'IsPS3', 0, 0),
    521:  (u'IsWindowsPC', 0, 0),
    522:  (u'GetVATSRightTargetVisible', 2, 0),
    523:  (u'GetVATSLeftTargetVisible', 2, 0),
    524:  (u'GetVATSBackTargetVisible', 2, 0),
    525:  (u'GetVATSFrontTargetVisible', 2, 0),
    528:  (u'IsInCriticalStage', 0, 0),
    530:  (u'GetXPForNextLevel', 0, 0),
    533:  (u'GetInfamy', 2, 0),
    534:  (u'GetInfamyViolent', 2, 0),
    535:  (u'GetInfamyNonViolent', 2, 0),
    536:  (u'GetTypeCommandPerforming', 0, 0),
    543:  (u'GetQuestCompleted', 2, 0),
    544:  (u'GetSpeechChallengeSuccessLevel', 0, 0),
    547:  (u'IsGoreDisabled', 0, 0),
    550:  (u'IsSceneActionComplete', 2, 2),
    552:  (u'GetSpellUsageNum', 2, 0),
    554:  (u'GetActorsInHigh', 0, 0),
    555:  (u'HasLoaded3D', 0, 0),
    560:  (u'HasKeyword', 2, 0),
    561:  (u'HasRefType', 0, 0),
    562:  (u'LocationHasKeyword', 2, 0),
    563:  (u'LocationHasRefType', 0, 0),
    565:  (u'GetIsEditorLocation', 2, 0),
    566:  (u'GetIsAliasRef', 0, 0),
    567:  (u'GetIsEditorLocationAlias', 0, 0),
    568:  (u'IsSprinting', 0, 0),
    569:  (u'IsBlocking', 0, 0),
    570:  (u'HasEquippedSpell', 0, 0),
    571:  (u'GetCurrentCastingType', 0, 0),
    572:  (u'GetCurrentDeliveryType', 0, 0),
    574:  (u'GetAttackState', 0, 0),
    576:  (u'GetEventData', 0, 0),
    577:  (u'IsCloserToAThanB', 2, 2),
    578:  (u'LevelMinusPCLevel', 0, 0),
    580:  (u'IsBleedingOut', 0, 0),
    584:  (u'GetRelativeAngle', 2, 0),
    589:  (u'GetMovementDirection', 0, 0),
    590:  (u'IsInScene', 0, 0),
    591:  (u'GetRefTypeDeadCount', 2, 0),
    592:  (u'GetRefTypeAliveCount', 2, 0),
    594:  (u'GetIsFlying', 0, 0),
    595:  (u'IsCurrentSpell', 2, 0),
    596:  (u'SpellHasKeyword', 0, 2),
    597:  (u'GetEquippedItemType', 0, 0),
    598:  (u'GetLocationAliasCleared', 0, 0),
    600:  (u'GetLocationAliasRefTypeDeadCount', 0, 0),
    601:  (u'GetLocationAliasRefTypeAliveCount', 0, 0),
    602:  (u'IsWardState', 0, 0),
    603:  (u'IsInSameCurrentLocationAsRef', 2, 2),
    604:  (u'IsInSameCurrentLocationAsRefAlias', 0, 2),
    605:  (u'LocationAliasIsLocation', 0, 2),
    606:  (u'GetKeywordDataForLocation', 2, 2),
    608:  (u'GetKeywordDataForAlias', 0, 2),
    610:  (u'LocationAliasHasKeyword', 0, 2),
    611:  (u'IsNullPackageData', 0, 0),
    612:  (u'GetNumericPackageData', 1, 0),
    613:  (u'IsPlayerRadioOn', 0, 0),
    614:  (u'GetPlayerRadioFrequency', 0, 0),
    615:  (u'GetHighestRelationshipRank', 0, 0),
    616:  (u'GetLowestRelationshipRank', 0, 0),
    617:  (u'HasAssociationTypeAny', 0, 0),
    618:  (u'HasFamilyRelationshipAny', 0, 0),
    619:  (u'GetPathingTargetOffset', 0, 0),
    620:  (u'GetPathingTargetAngleOffset', 0, 0),
    621:  (u'GetPathingTargetSpeed', 0, 0),
    622:  (u'GetPathingTargetSpeedAngle', 0, 0),
    623:  (u'GetMovementSpeed', 0, 0),
    624:  (u'GetInContainer', 2, 0),
    625:  (u'IsLocationLoaded', 2, 0),
    626:  (u'IsLocationAliasLoaded', 0, 0),
    627:  (u'IsDualCasting', 0, 0),
    629:  (u'GetVMQuestVariable', 2, 0),
    630:  (u'GetCombatAudioDetection', 0, 0),
    631:  (u'GetCombatVisualDetection', 0, 0),
    632:  (u'IsCasting', 0, 0),
    633:  (u'GetFlyingState', 0, 0),
    635:  (u'IsInFavorState', 0, 0),
    636:  (u'HasTwoHandedWeaponEquipped', 0, 0),
    637:  (u'IsFurnitureExitType', 0, 0),
    638:  (u'IsInFriendStatewithPlayer', 0, 0),
    639:  (u'GetWithinDistance', 2, 3),
    640:  (u'GetValuePercent', 2, 0),
    641:  (u'IsUnique', 0, 0),
    642:  (u'GetLastBumpDirection', 0, 0),
    644:  (u'GetInfoChallangeSuccess', 0, 0),
    645:  (u'GetIsInjured', 0, 0),
    646:  (u'GetIsCrashLandRequest', 0, 0),
    647:  (u'GetIsHastyLandRequest', 0, 0),
    650:  (u'IsLinkedTo', 2, 2),
    651:  (u'GetKeywordDataForCurrentLocation', 2, 0),
    652:  (u'GetInSharedCrimeFaction', 2, 0),
    654:  (u'GetBribeSuccess', 0, 0),
    655:  (u'GetIntimidateSuccess', 0, 0),
    656:  (u'GetArrestedState', 0, 0),
    657:  (u'GetArrestingActor', 0, 0),
    659:  (u'HasVMScript', 0, 0),
    660:  (u'GetVMScriptVariable', 0, 0),
    661:  (u'GetWorkshopResourceDamage', 2, 0),
    664:  (u'HasValidRumorTopic', 2, 0),
    672:  (u'IsAttacking', 0, 0),
    673:  (u'IsPowerAttacking', 0, 0),
    674:  (u'IsLastHostileActor', 0, 0),
    675:  (u'GetGraphVariableInt', 0, 0),
    678:  (u'ShouldAttackKill', 2, 0),
    680:  (u'GetActivationHeight', 0, 0),
    682:  (u'WornHasKeyword', 2, 0),
    683:  (u'GetPathingCurrentSpeed', 0, 0),
    684:  (u'GetPathingCurrentSpeedAngle', 0, 0),
    691:  (u'GetWorkshopObjectCount', 2, 0),
    693:  (u'EPMagic_SpellHasKeyword', 2, 0),
    694:  (u'GetNoBleedoutRecovery', 0, 0),
    696:  (u'EPMagic_SpellHasSkill', 2, 0),
    697:  (u'IsAttackType', 2, 0),
    698:  (u'IsAllowedToFly', 0, 0),
    699:  (u'HasMagicEffectKeyword', 2, 0),
    700:  (u'IsCommandedActor', 0, 0),
    701:  (u'IsStaggered', 0, 0),
    702:  (u'IsRecoiling', 0, 0),
    703:  (u'HasScopeWeaponEquipped', 0, 0),
    704:  (u'IsPathing', 0, 0),
    705:  (u'GetShouldHelp', 2, 0),
    706:  (u'HasBoundWeaponEquipped', 0, 0),
    707:  (u'GetCombatTargetHasKeyword', 2, 0),
    709:  (u'GetCombatGroupMemberCount', 0, 0),
    710:  (u'IsIgnoringCombat', 0, 0),
    711:  (u'GetLightLevel', 0, 0),
    713:  (u'SpellHasCastingPerk', 2, 0),
    714:  (u'IsBeingRidden', 0, 0),
    715:  (u'IsUndead', 0, 0),
    716:  (u'GetRealHoursPassed', 0, 0),
    718:  (u'IsUnlockedDoor', 0, 0),
    719:  (u'IsHostileToActor', 2, 0),
    720:  (u'GetTargetHeight', 2, 0),
    721:  (u'IsPoison', 0, 0),
    722:  (u'WornApparelHasKeywordCount', 2, 0),
    723:  (u'GetItemHealthPercent', 0, 0),
    724:  (u'EffectWasDualCast', 0, 0),
    725:  (u'GetKnockStateEnum', 0, 0),
    726:  (u'DoesNotExist', 0, 0),
    728:  (u'GetPlayerWalkAwayFromDialogueScene', 0, 0),
    729:  (u'GetActorStance', 0, 0),
    734:  (u'CanProduceForWorkshop', 0, 0),
    735:  (u'CanFlyHere', 0, 0),
    736:  (u'EPIsDamageType', 1, 0),
    738:  (u'GetActorGunState', 0, 0),
    739:  (u'GetVoiceLineLength', 0, 0),
    741:  (u'ObjectTemplateItem_HasKeyword', 2, 0),
    742:  (u'ObjectTemplateItem_HasUniqueKeyword', 2, 0),
    743:  (u'ObjectTemplateItem_GetLevel', 0, 0),
    744:  (u'MovementIdleMatches', 0, 0),
    745:  (u'GetActionData', 0, 0),
    746:  (u'GetActionDataShort', 1, 0),
    747:  (u'GetActionDataByte', 1, 0),
    748:  (u'GetActionDataFlag', 1, 0),
    749:  (u'ModdedItemHasKeyword', 2, 0),
    750:  (u'GetAngryWithPlayer', 0, 0),
    751:  (u'IsCameraUnderWater', 0, 0),
    753:  (u'IsActorRefOwner', 2, 0),
    754:  (u'HasActorRefOwner', 2, 0),
    756:  (u'GetLoadedAmmoCount', 0, 0),
    757:  (u'IsTimeSpanSunrise', 0, 0),
    758:  (u'IsTimeSpanMorning', 0, 0),
    759:  (u'IsTimeSpanAfternoon', 0, 0),
    760:  (u'IsTimeSpanEvening', 0, 0),
    761:  (u'IsTimeSpanSunset', 0, 0),
    762:  (u'IsTimeSpanNight', 0, 0),
    763:  (u'IsTimeSpanMidnight', 0, 0),
    764:  (u'IsTimeSpanAnyDay', 0, 0),
    765:  (u'IsTimeSpanAnyNight', 0, 0),
    766:  (u'CurrentFurnitureHasKeyword', 2, 0),
    767:  (u'GetWeaponEquipIndex', 0, 0),
    769:  (u'IsOverEncumbered', 0, 0),
    770:  (u'IsPackageRequestingBlockedIdles', 0, 0),
    771:  (u'GetActionDataInt', 0, 0),
    772:  (u'GetVATSRightMinusLeftAreaFree', 2, 0),
    773:  (u'GetInIronSights', 2, 0),
    774:  (u'GetActorStaggerDirection', 0, 0),
    775:  (u'GetActorStaggerMagnitude', 0, 0),
    776:  (u'WornCoversBipedSlot', 1, 0),
    777:  (u'GetInventoryValue', 0, 0),
    778:  (u'IsPlayerInConversation', 0, 0),
    779:  (u'IsInDialogueCamera', 0, 0),
    780:  (u'IsMyDialogueTargetPlayer', 0, 0),
    781:  (u'IsMyDialogueTargetActor', 0, 0),
    782:  (u'GetMyDialogueTargetDistance', 0, 0),
    783:  (u'IsSeatOccupied', 2, 0),
    784:  (u'IsPlayerRiding', 0, 0),
    785:  (u'IsTryingEventCamera', 0, 0),
    786:  (u'UseLeftSideCamera', 0, 0),
    787:  (u'GetNoteType', 0, 0),
    788:  (u'LocationHasPlayerOwnedWorkshop', 0, 0),
    789:  (u'IsStartingAction', 0, 0),
    790:  (u'IsMidAction', 0, 0),
    791:  (u'IsWeaponChargeAttack', 0, 0),
    792:  (u'IsInWorkshopMode', 0, 0),
    793:  (u'IsWeaponChargingHoldAttack', 0, 0),
    794:  (u'IsEncounterAbovePlayerLevel', 0, 0),
    795:  (u'IsMeleeAttacking', 0, 0),
    796:  (u'GetVATSQueuedTargetsUnique', 0, 0),
    797:  (u'GetCurrentLocationCleared', 0, 0),
    798:  (u'IsPowered', 0, 0),
    799:  (u'GetTransmitterDistance', 0, 0),
    800:  (u'GetCameraPlaybackTime', 0, 0),
    801:  (u'IsInWater', 0, 0),
    802:  (u'GetWithinActivateDistance', 2, 0),
    803:  (u'IsUnderWater', 0, 0),
    804:  (u'IsInSameSpace', 2, 0),
    805:  (u'LocationAllowsReset', 0, 0),
    806:  (u'GetVATSBackRightAreaFree', 2, 0),
    807:  (u'GetVATSBackLeftAreaFree', 2, 0),
    808:  (u'GetVATSBackRightTargetVisible', 2, 0),
    809:  (u'GetVATSBackLeftTargetVisible', 2, 0),
    810:  (u'GetVATSTargetLimbVisible', 2, 0),
    811:  (u'IsPlayerListening', 3, 0),
    812:  (u'GetPathingRequestedQuickTurn', 0, 0),
    813:  (u'EPIsCalculatingBaseDamage', 0, 0),
    814:  (u'GetReanimating', 0, 0),
    817:  (u'IsInRobotWorkbench', 0, 0),
}
getvatsvalue_index = 407

#------------------------------------------------------------------------------
# Leveled Lists
#------------------------------------------------------------------------------
listTypes = (b'LVLI',b'LVLN',)
#------------------------------------------------------------------------------
# Import Inventory
#------------------------------------------------------------------------------
inventoryTypes = (b'NPC_',b'CONT',)

#------------------------------------------------------------------------------
# Import Object Bounds
#------------------------------------------------------------------------------
object_bounds_types = {b'LVLI', b'LVLN'}

#------------------------------------------------------------------------------
# Timescale Checker
#------------------------------------------------------------------------------
default_wp_timescale = 20
